
public class Test {
    public static void main(String[] args) {
        System.out.println(5/2);  //ctr + / 怎么注释就怎么取消
        System.out.println((float) 5/2);
        System.out.println(5/(float)2);
        System.out.println((float)(5/2));
//        System.out.println(10/0);

//        ctr+shift+/ -->块注释
        System.out.println(10%3);
        System.out.println(10%-3);
        System.out.println(-10%3);
        System.out.println(-10%-3);
        System.out.println(11.5 % 2);  //1.5

//        int a = 10;
//        a+=10;//a=a+10;
//        System.out.println(a);

//        long d = 100;
//        int c = 9;
//        //c=c+d;
//        c+=d;//等价于c = (int)(c+d) 特点：运算符会帮我们进行类型转换
//        System.out.println(c);

//        int a = 10;
//        //int b = ++a;//a=a+1;b=a;
//        int b = a++;//b=a;a=a+1;


        // 关系运算符主要有六个: == != < > <= >= ，其计算结果是 true 或者 false 。
        int a = 10;
        int b = 20;
        System.out.println(a>=b); //true
        System.out.println(a==b);//false
//err   3<a<5

        //4. 短路求值&& 和 || 遵守短路求值的规则.
        //逻辑运算符主要有三个: && || ! ，运算结果都是 boolean类型。
//按位与& 同时为1才为1
        //按位|  有一则为1；
        // 按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
        //. 按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.
    }//课件
    public static void main7(String[] args) {
        //在c语言中没有字符串数据类型
/*char* p = "21323";
char arr[] = "fnssf";*/
        String str = "hello";
        System.out.println(str);

        int a = 97;
        //调用string这个类型的方法
        //将字符串和整形数字之间进行转换：
        //1. int 转成 String
        String s1 = String.valueOf(a);
        System.out.println(s1);
        //2. int 转成 String
        String s2 = a + "";//此时加号是拼接的意思
        System.out.println(s2);

        String s3 = 10+20+"x";
        System.out.println(s3);

        String s4 = "x"+10+20;
        System.out.println(s4);

        // 2. String 转成 int
        //调用Integer的方法 来实现转换
        String str3 = "10009";
        int ret = Integer.valueOf(str3);
        System.out.println(ret+1);

        int ret1 = Integer.parseInt(str3);
        System.out.println(ret1+1);


    }
    public static void main6(String[] args) {
        int a = 10;
        long b = 20L;
        int c = (int)(a+b);//若不强转，等号右边是long，左边是int类型
        long d = a+b;

        //小于4个字节的内容，会提升为int参与运算
        byte b1 = 125;
        byte b2 = 123;
        byte b3 = (byte)(b1+b2);
        System.out.println(b3);

        int b4 = b1+b2;
        System.out.println(b4);
    }
    public static void main5(String[] args) {
        int a = 10;
        long b = 10L;
        b = a;//隐式类型转换
        //a=b;//不可以8个赋值给4个字节
        a = (int)b;//强制类型转换
        byte c = (byte)256;
        System.out.println(c);
        byte c2 = 127;
        //Java当中 对于字面值的直接赋值 是允许的 ，前提是没有超过表示范围。
        // 但是当超过表示范围之后，就会检查！
    }
    public static void main4(String[] args) {
        //在java中只有true false
        boolean flg = true; //没有明确规定占用几个字节
        System.out.println(flg);
        //不能和任何类型进行转换
    }
    public static void main3(String[] args) {
        //没有负数的
        char ch = 'A';//2个字节  包装类为Character
        System.out.println(ch);
        char ch2 = '杨';
        char ch3 = 97;

        System.out.println(ch2);
        System.out.println(ch3);

    }
    public static void main2(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a/b);

        double num = 1.1;
        System.out.println(num);
        System.out.println(num*num);

        float f = 12.5F; //4个字节
        System.out.println(f);

    }
    public static void main1(String[] args) {
        int a = 1;
        System.out.println(a);
        System.out.println("hello");
        //长整型 8个字节 -2^63 ~ 2^63 - 1
        long b = 10L;
        System.out.println(b);
        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);
        //短整型 2字节 -2^15 ~ 2^15 - 1
        short sh = 10;
        System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);
        //字节型 1字节 -2^7 ~ 2^7 - 1
        byte b1 = 10;
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
        double d = 12.5; //8个字节
        System.out.println(Double.MAX_VALUE);
        //输出的是浮点数最小的一个非负整数
        System.out.println(Double.MIN_VALUE);




    }
}